package com.me.test.mapper;

import com.me.test.domain.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 对于 Mybatis自动配置，@Mapper 注解是必须的，否则找不到 UserMapper。 <p>
 * 因为 AutoConfiguredMapperScannerRegistrar#registerBeanDefinitions() 中指定了 annotationClass。  <p>
 *
 * 另一种配置方式：在启动类上通过 @MapperScan 指定 mapper接口所在的包
 */
@Mapper
public interface UserMapper {

    /**
     * 根据 id 查询。@Param("id") 属性名相同可省略
     *
     * @param id id
     * @return User
     */
    User getUserById(Long id);

    /**
     * 全量查询
     *
     * @return List<User>
     */
    List<User> getUsers(User user);

    List<User> getUsers2(String name, Integer age);

    int insert(User user);

    int update(User user);

    int delete(User user);
}
